package leecode

func findAnagrams(s string, p string) (result []int) {
	if len(s) < len(p) {
		return
	}
	sarr, parr := [26]uint16{}, [26]uint16{} //记录各个字母的数量
	//初始化窗口
	for i := 0; i < len(p); i++ {
		sarr[s[i]-'a']++
		parr[p[i]-'a']++
	}
	//go数组直接比较
	if sarr == parr {
		result = append(result, 0)
	}
	for right := 1; right <= len(s)-len(p); right++ {
		sarr[s[right-1]-'a']--
		sarr[s[right+len(p)-1]-'a']++
		if sarr == parr {
			result = append(result, right)
		}
	}
	return
}
